home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / LANG / C / GCC / CLIB / !clib / h / signal < prev    next >
Text File  |  1997-03-22  |  2KB  |  82 lines

  1. /* signal.h
  2.  
  3.    For use with the GNU compilers and the SharedCLibrary.
  4.    (c) Copyright 1997, Nick Burrett.  */
  5.  
  6. #ifndef __SIGNAL_H
  7. #define __SIGNAL_H
  8.  
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12.  
  13. /* Reading and writing this data type is guaranteed to
  14.    happen in a single instruction, so there's no way for
  15.    a handler to run in the middle of an access.  */
  16. typedef int sig_atomic_t;
  17.  
  18. extern void __default_signal_handler(int);
  19. extern void __error_signal_marker(int);
  20. extern void __ignore_signal_handler(int);
  21.  
  22. /* Specifies the default action for the particular signal.  */
  23. #define SIG_DFL &__default_signal_handler
  24.  
  25. /* Used to flag error return from signal.  */
  26. #define SIG_ERR &__error_signal_marker
  27.  
  28. /* Specifies that the signal should be ignored.  */
  29. #define SIG_IGN &__ignore_signal_handler
  30.  
  31. /* Defined signals.  */
  32.  
  33. /* Indicates an error detected by the program itself and reported
  34.    by calling abort().  */
  35. #define SIGABRT 1
  36.  
  37. /* Fatal arithmetic error i.e. all arithmetic errors, including
  38.    division by zero and overflow.  */
  39. #define SIGFPE 2
  40.  
  41. /* Illegal instruction.  */
  42. #define SIGILL 3
  43.  
  44. /* The program interrupt signal is sent when the user types the
  45.    INTR character, usually Escape.  */
  46. #define SIGINT 4
  47.  
  48. /* Signal generated when a program tries to read/write outside the
  49.    memory that is allocated to it, or to write memory that can only
  50.    be read.  */
  51. #define SIGSEGV 5
  52.  
  53. /* Generic signal used to cause program termination.  */
  54. #define SIGTERM 6
  55.  
  56. /* Stack overflow.  */
  57. #define SIGSTAK 7
  58.  
  59. /* User definable signal.  */
  60. #define SIGUSR1 8
  61.  
  62. /* User definable signal.  */
  63. #define SIGUSR2 9
  64.  
  65. /* Operating system error.  */
  66. #define SIGOSERROR 10
  67.  
  68. typedef void Handler(int);
  69.  
  70. /* Define the function 'action' to be called when 'signum' is raised.  */
  71. extern Handler *signal (int signum, Handler *action);
  72.  
  73. /* Sends the signal 'sig' to the executing program. Returns zero on
  74.    success, non-zero on failure.  */
  75. extern int raise (int sig);
  76.  
  77. #ifdef __cplusplus
  78. }
  79. #endif
  80.  
  81. #endif
  82.